static public function objectToString( $object:Object ):String{
	var key:*, result:String;
	result = '{';
	for( key in $object ){
		result += "'" + key + "':" + $object[key]+',';
	}
	return result.substr( 0, result.length - 1 ) + '}';
}

static public function objectStrip( $target:Object ):Object{
	var key:*, subkey:*, temp:Object;
	for( key in $target ){
		if( $target[key].toString() === '[object Object]' ){
			temp = objectStrip( $target[key] );
			for( subkey in temp ){
				$target[subkey] = temp[subkey];
			}
			if( temp === $target[key] ){
				delete $target[key];	
			}
		}
	}
	return $target;
}
static public function objectClone( $data:Object ):Object{
	var result:Object, key:*;
	result = {};
	for( key in $data ){
		if( $data[key] ){
			if( $data[key] is Array ){
				result[key] = arrayClone( $data[key] );
			}else if( $data[key].toString() === '[object Object]' ){
				result[key] = objectClone( $data[key] );
			}else{
				result[key] = $data[key];
			}
		}
	}
	return result;
}
final public function objectGet( $data:Object, $key:String ):*{
	return $data[$key];
}
final public function objectMake( ...$keyValue ):*{
	var i:int, j:int, result:Object;
	result = {}
	for( i = 0, j = $keyValue.length ; i < j ; i += 2 ){
		result[$keyValue[i]] = $keyValue[i + 1] 
	}
	return result;
}
